package com.boot.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;
import java.time.LocalDateTime;
import lombok.Getter;
import lombok.Setter;

/**
 * <p>
 * 附件表，用于存储与问题关联的上传文件信息
 * </p>
 *
 * @author bbyh
 * @since 2025-10-29
 */
@Getter
@Setter
public class Attachment implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键ID，自增
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 关联的问题ID，外键指向问题表
     */
    private Long questionId;

    /**
     * 文件在对象存储中的唯一键（如S3、OSS中的key）
     */
    private String fileKey;

    /**
     * 上传时的原始文件名
     */
    private String fileName;

    /**
     * 文件的MIME类型，如image/jpeg、application/pdf等
     */
    private String mimeType;

    /**
     * 文件大小，单位为KB
     */
    private Integer sizeKb;

    /**
     * 上传人用户ID
     */
    private Long uploadedBy;

    /**
     * 文件上传时间
     */
    private LocalDateTime createdAt;
}
